// 封装分类数据业务相关代码
import { onMounted, ref } from 'vue'
import { getCategoryDetailAPI } from '@/apis/category'
import { useRoute } from 'vue-router'
import { onBeforeRouteUpdate } from 'vue-router'

export function useCategory () {
  // 获取分类数据
  const categoryDetail = ref({})
  const route = useRoute()
  const getCategoryDetail = async (id = route.params.id) => {
    const res = await getCategoryDetailAPI(id)
    categoryDetail.value = res.data
  }
  onMounted(() => getCategoryDetail())

  // 目标:路由参数变化的时候 可以把分类数据接口重新发送
  onBeforeRouteUpdate((to) => {
    // 存在问题：使用最新的路由参数请求最新的分类数据
    getCategoryDetail(to.params.id)
  })
  return {
    categoryDetail
  }
}